/*
  特殊的两数之和
  题目描述
    给定一个无序数列 a1、a2、…、an 和一个数字 s，请问其中有多少对（ai，aj）使得 ai + aj = s 且 i < j。
    i 和 j 两者不完全相等，则认为是不同的数对，
    例如：(a1, a3)为(1, 5), (a2, a4)为(1, 5)，则认为是两对数对。
  输入描述
    第一行，一个整数 n，表示数列中数字的个数。（2 <= n <= 1000）；
    第二行，n 个整数，依次为 a1、a2、…、an，数字是小于 100 的正整数；
    第三行，一个整数 s，表示要求的数字之和。（0 < s <= 200）。
  输出描述
    输出一个整数，表示一共存在多少对题目要求的数对。
  样例1
    输入
      6
      1 3 4 2 6 5
      7
    输出
      3
*/

#include <iostream>

using namespace std;

int main() {
    int a[1005];
    int n;
    int num = 0;
    int s;

    cin >> n;
    for (int i = 0; i <= n-1; i++) {
        cin >> a[i];
    }

    cin >> s;
    for (int i = 0; i <= n - 1; i++) {
        for (int j = i + 1; j <= n - 1; j++) {
            if (a[i] + a[j]==s) {
                num++;
            }
        }
    }
    cout << num;

    return 0;
}